package 泛型;

import java.util.List;
import java.util.Random;

//如果泛型类中标记了泛型,而类中又有同样泛型标记的泛型方法
//在创建泛型对象的时候指定的数据类型可以和调用泛型方法锁指定的数据类型不一致
//因为这是两个泛型声明,泛型方法的泛型并不依赖泛型类指定的泛型
//但是使用了泛型类的泛型的成员方法在调用时传入的数据类型必须和泛型类指定的泛型一致
//还有,使用了泛型的普通方法不能写成静态的,只有声明泛型的方法才能写成静态
public class 泛型类<T> {
    static Random random = new Random();
    public static <T> T 泛型方法(List<T> list) {
        return list.get(random.nextInt(list.size()));
    }
    public T 成员方法(T t){
         
        return t;
    }
    private T name;
    public 泛型类(T name) {
        this.name = name;
    }
    public 泛型类() {
    }
    public T getName() {
        return name;
    }
    public void setName(T name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "泛型类{" + "name=" + name + '}';
    }
}
